// // find的用法
// const arr = [1, 2, 3, 4, 5, 666, 777, 888]
// // 我想寻找大于100的数
// const res = arr.find(i => i > 100)
// console.log(res)

// reduce 将一个数组里面的数据, 一串处理, 最终缩减成一个变量的函数
// const arr = [1, 2, 3, 4, 5]
// // 希望将这个数组缩减成一个总和数字
// // // reduce 需要传入一个 reducer 函数
// // // 函数当中可以接收到四个参数, 最终结果每次迭代的当前值, 当前遍历到的元素, 当前遍历到的索引, 整个数组本身

// // 除了这个函数之外, 第二个还可以传一个初始值作为最初第一次操作的开始
// const res = arr.reduce((res, currentVal, currentIndex, arr) => {
//   res += currentVal
//   return res
// }, 0)
// console.log(res)

// const products = [
//   {
//     price: 323,
//     quantity: 9
//   },
//   {
//     price: 323,
//     quantity: 9
//   },
//   {
//     price: 323,
//     quantity: 9
//   }
// ]
// 目标是计算出总价
// // 最简单的做法用 foreach 循环
// let res = 0
// products.forEach(element => {
//   res += element.price * element.quantity
// })
// console.log(res)

// reduce写法
// const res = products.reduce((res, currVall) => {
//   res += currVall.price * currVall.quantity
//   return res
// }, 0)
// console.log(res)

// 用 reduce 模拟 map 函数
const arr = [1, 2, 3, 4, 5, 6]
// 我想造一个数组, 每一个都是上一个数组对应元素+1
const arr2 = arr.reduce((newArr, currVal) => {
  newArr.push(currVal + 1)
  return newArr
}, [])
console.log(arr2)
